💻 ⚙️ 🧠
The Foundation of Modern Computing
Proposed in 1945 by John von Neumann, this architecture is the traditional model of computers still used in most general-purpose systems today.
It is sometimes called the "stored program architecture" because both data and program instructions are stored together in the same memory.
Both instructions (program code) and data are kept in the same memory.
Example: If memory address 1000 stores an instruction (ADD R1, R2), memory address 1001 might store data (25).
The CPU processes one instruction at a time:
The CPU controls the whole process: it fetches instructions, decodes them, executes them, and manages data transfer with memory and I/O devices.
The brain of the computer.
Does arithmetic (add, subtract) and logic (AND, OR, NOT).
Tells other parts (ALU, memory, I/O) what to do, based on the instruction.
Small, fast memory locations inside the CPU to hold temporary data.
👉 Example: If the instruction is ADD R1, R2, the CPU:
Stores both data and instructions.
Fast, volatile, used for active data/programs
Slower, permanent storage (HDD/SSD)
👉 Example: RAM might contain:
Enable interaction between computer and outside world.
Input: Keyboard, Mouse, Microphone
Output: Monitor, Printer, Speakers
A set of wires (pathways) that connect CPU, memory, and I/O devices.
Types:
👉 Example: If CPU wants to read memory at location 1003:
Same memory can store new programs or data
Simple design, instructions executed step-by-step
Became the standard for general-purpose computers
The Von Neumann architecture's simplicity and flexibility made it the dominant model for computing for decades. Its ability to store both programs and data in the same memory allows computers to be reprogrammed for different tasks without changing hardware.
CPU and memory share the same bus → only one transfer (instruction or data) at a time.
This slows down performance.
Example: CPU is waiting for memory while it could have been doing another task.
Only one instruction at a time (less efficient for modern needs).
Not ideal for massive parallel processing.
Shared bus creates bottleneck
Limited by sequential design
Separate memory for data and instructions.
CPU can fetch instruction and access data at the same time → faster.
Used in microcontrollers, DSPs (Digital Signal Processors).
👉 Example: While CPU fetches "ADD R1, R2", it can simultaneously fetch R1=5 and R2=10.
Multiple CPUs or cores execute instructions at the same time.
Example: Modern multicore processors in laptops/servers.
| Architecture | Memory | Execution | Use Case |
|---|---|---|---|
| Von Neumann | Shared (data + instructions) | Sequential | General-purpose computers |
| Harvard | Separate | Parallel fetch | Microcontrollers, DSPs |
| Parallel | Varies | Multiple instructions | High-performance computing |
Let's say we want to calculate:
C = A + B, where A=5, B=10
CPU fetches LOAD A → loads 5 into register.
CPU fetches ADD B → adds 10, result = 15.
CPU fetches STORE C → stores 15 in memory at address 1005.
✅ Result: C=15 is saved.
The Von Neumann architecture remains the foundation of most computing systems today, despite its limitations.